package com.hsnn.medstgmini.subscribe.dao;

import java.util.Date;
import java.util.List;

import com.hsnn.medstgmini.subscribe.model.BidSubscribeDetail;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 预约详情DAO接口
 * @author 韩守松
 * @date 2015年8月28日
 */
public interface BidSubscribeDetailDao {
	/**
	 * @category 预约详情信息保存
	 * @author 韩守松
	 * @date   2015年8月28日
	 * @param  @param bidSubscribeDetail
	 */
	void save(BidSubscribeDetail bidSubscribeDetail);
	
	
	/**
	 * @category 生产企业预约信息保存
	 * @author 韩守松
	 * @date   2015年9月2日
	 * @param
	 */
	void proSubscribeSave(BidSubscribeDetail bidSubscribeDetail);
	/**
	 * @category 查询预约详情信息
	 * @author 韩守松
	 * @date   2015年8月28日
	 * @param  @param page
	 * @param  @param bidSubscribeDetail
	 * @param  @return
	 */
	Pagination getDetailList(Pagination page,BidSubscribeDetail bidSubscribeDetail);
	
	
	
	/**
	 * @category 根据预约的id 获取预约详情信息 
	 * @author 韩守松
	 * @date   2015年9月1日
	 * @param  @param bidSubscribeId
	 * @param  @return
	 */
	List<BidSubscribeDetail> getBidSubscribeDetailList(String bidSubscribeId);
	
	/**
	 * @category 更新生产企业预约日期
	 * @author 韩守松
	 * @date   2015年9月2日
	 * @param  @param bidSubscribeDetail
	 */
	void update(BidSubscribeDetail bidSubscribeDetail);
	
	/**
	 * @category 根据预约详情id 获取预约详情信息
	 * @author 韩守松
	 * @date   2015年9月2日
	 * @param  @param bidSubscribeDetailId
	 * @param  @return
	 */
	List<BidSubscribeDetail> getDetailListByDetailId(String bidSubscribeDetailId);
	
	/**
	 * @category 获取预约日期列表
	 * @author 韩守松
	 * @date   2015年9月6日
	 * @param  @return
	 */
	List<BidSubscribeDetail> getSubscribeDateList(String bidSubscribeId);
	
	/**
	 * @category 获取预约时间列表
	 * @author 韩守松
	 * @date   2015年9月6日
	 * @param  @param bidSubscribeDetail
	 * @param  @return
	 */
	List<BidSubscribeDetail> getSubscribeTimeList(BidSubscribeDetail bidSubscribeDetail);
	
	/**
	 * @category 根据 设置id 预约日期 预约时间段确定详情id
	 * @author 韩守松
	 * @date   2015年9月7日
	 * @param  @param bidSubscribeDetail
	 * @param  @return
	 */
    String getRecordDetailId(BidSubscribeDetail bidSubscribeDetail);
    
    /**
     * @category 根据预约日期获取预约时间
     * @author 韩守松
     * @date   2015年9月21日
     * @param  @param dateStr
     * @param  @param bidSubscribeId
     * @param  @return
     */
    List<BidSubscribeDetail>  getSubscribeTimeByDate(Date dateStr,String bidSubscribeId);
}
